package com.cruise.game.service.admin;

import com.cruise.game.model.param.admin.CarouselCreateParam;
import com.cruise.game.model.param.admin.CarouselUpdateParam;
import com.cruise.game.model.vo.admin.CarouselVO;
import com.cruise.game.model.vo.common.PageResult;

/**
 * 管理员轮播图服务接口
 * 
 * @author cruise
 * @date 2025-02-28
 */
public interface AdminCarouselService {

    /**
     * 获取轮播图列表
     *
     * @param status 状态
     * @param page 页码
     * @param pageSize 每页条数
     * @return 轮播图列表
     */
    PageResult<CarouselVO> getCarouselList(String status, Integer page, Integer pageSize);

    /**
     * 获取轮播图详情
     *
     * @param id 轮播图ID
     * @return 轮播图详情
     */
    CarouselVO getCarouselDetail(Long id);

    /**
     * 创建轮播图
     *
     * @param param 创建参数
     * @return 轮播图ID
     */
    Long createCarousel(CarouselCreateParam param);

    /**
     * 更新轮播图
     *
     * @param id 轮播图ID
     * @param param 更新参数
     * @return 是否成功
     */
    boolean updateCarousel(Long id, CarouselUpdateParam param);

    /**
     * 删除轮播图
     *
     * @param id 轮播图ID
     * @return 是否成功
     */
    boolean deleteCarousel(Long id);
}
